#ifndef __YGDGAME_H__
#define __YGDGAME_H__

#include "..\YGDEngine\YGDEngine.h"
#pragma comment (lib, "YGDEngine.lib")
#include "..\YGDPhysics\Includes\IPhysics.h"
#include "..\YGDPhysics\Includes\IForceRegister.h"
#include "..\YGDEngine\Includes\IWindow.h"
#include <sstream>
#include <string>
#include "Logic\CState.h"

class YGDGame
{
public:
  YGDGame(HINSTANCE hInst, HINSTANCE hPrevInst, wchar_t * lpCmdLine, int nCmdShow,
    const char* windowName, const char* windowTitle);
  ~YGDGame();
  void run();
  void clean();

private:
  void initGame();
  void handleInput(float dT);
  void doUpdate(float dT);

  IEngine* pEngine;
  ITimer* pTimer;
  ICamera* pCam;
  IInput* pInp;
  Logic::CState* pState;
  IWindow* pMainMenu;
  IText* pDebugText;


  bool paused;
  bool started;
};
#endif